package double_point;

/**
 * 977. 有序数组的平方
 * 左右指针的做法
 *
 * @author Api
 * @date 2023/10/6 14:59
 */
public class Code977_SquareOfOrderedArray {
    // 左右指针的做法 i左指针， j右指针
    public int[] sortedSquares(int[] nums) {
        int[] result = new int[nums.length];
        int k = nums.length - 1;
        for (int i = 0, j = nums.length - 1; i <= j; ) {
            if (Math.pow(nums[i], 2) > Math.pow(nums[j], 2)) {
                result[k--] = (int) Math.pow(nums[i], 2);
                i++; // 左指针
            } else { // 小于等于
                result[k--] = (int) Math.pow(nums[j], 2);
                j--; // 右指针
            }
        }
        return result;
    }
}
